The invention generally relates to the field of computer programs and systems, and specifically to the field of computer aided design (CAD), computer-aided engineering (CAE), modeling, and simulation.
A number of systems and programs are offered on the market for the design of parts or assemblies of parts. These so called CAD systems allow a user to construct and manipulate complex three-dimensional models of objects or assemblies of objects. CAD systems thus provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines, edges, faces, or polygons that make up models may be represented in various manners, e.g., non-uniform rational basis-splines (NURBS).
These CAD systems manage parts or assemblies of parts of modeled objects, which are mainly specifications of geometry. In particular, CAD files contain specifications, from which geometry is generated. From geometry, a representation is generated. Specifications, geometry, and representations may be stored in a single CAD file or multiple CAD files. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of the file representing an object in a CAD system ranges, but is typically on the megabyte order of magnitude for a part. An assembly may contain thousands of parts, and an assembly file is correspondingly large. A CAD system manages models of objects, which are stored in electronic files.
The advent of CAD and CAE systems allows for a wide range of representation possibilities for objects. One such representation is a finite element analysis (FEA) model. The terms FEA model, finite element (FE) model, finite element mesh, and mesh are used interchangeably throughout this application. A FE model typically represents a CAD model, and thus, may represent one or more parts or an entire assembly. A FE model is a system of points called nodes which are interconnected to make a grid, referred to as a mesh. The FE model may be programmed in such a way that the FE model has the properties of the underlying object that it represents. When a FE model is programmed in such a way, it may be used to perform simulations of the object that it represents. For example, a FE model may be used to represent the interior cavity of a vehicle, the acoustic fluid surrounding a structure, and any number of real-world objects, including medical devices such as stents. When a given FE model represents an object and is programmed accordingly it may be used to simulate the real-world object itself. For example, a FE model representing a stent may be used to simulate the use of the stent in a real-life medical setting.
The usefulness of a finite element simulation however is limited by the accuracy of the simulation. For example, a common error in finite element simulations is penetration, i.e., the simulation generating a result indicating that a surface of a FE model has been breached or has breached the surface of a component of the FE model or the surface of another FE model. While there are existing solutions to compensate for these errors, and thus enhance the accuracy of the finite element simulation, the existing solutions are inadequate.
For example, one such method to improve the accuracy of a finite element simulation is a non-default contact-constraint-enforcement option referred to herein as the “augmented penalty method.” This method has some similarity to embodiments of the present invention, in that it mitigates effects of numerical approximations on a reported solution, through special treatment of certain iterations of a Newton iteration scheme. Specifically, the augmented penalty method combines a penalty constraint enforcement method with augmentations, as needed, to avoid reporting a solution in which the contact penetration observed in the reported solution exceeds a threshold value. The augmented penalty method option uses a reduced penalty stiffness relative to what is normally encouraged, and it only carries out augmentation if the threshold penetration is reached. Therefore, the augmented penalty method approach requires a challenging user judgment as to what level of penetration may influence stress solutions of interest. The augmented penalty method also has a disadvantage in that solutions accepted as converged may involve the combination of a positive contact pressure and positive gap distances at specific locations of the interface (especially during unloading), which is confusing and typically nonphysical.
Unfortunately, some documentation refers to the augmented penalty method described above as the “Augmented Lagrange method” which is confusing and inconsistent with terminology from academic literature. For example, the explanation of the “Augmented Lagrangian method” starting on page 328 of Nonlinear Finite Elements for Continua and Structures, Belytschko, Liu, and Moran, Wiley and Sons, 2000 is much different than the “augmented penalty method” described above (and much different than embodiments of the present invention).
Various stabilization methods have also been used in implicit finite element simulations in an attempt to improve the accuracy and efficiency of these simulations. For example, existing software suites for performing finite element simulations have included contact stabilization and other artificial stabilization features. These methods have not modified the stabilization coefficients across iterations of an increment of a finite element simulation. For example, at least some known contact stabilization features modify the stabilization coefficient across load increments, for example, to remove the stabilization altogether for the final load increment, but the coefficient was kept constant across all iterations associated with an increment of the finite element simulation.